1. Field of the Invention
This application relates to processing digital video, and more particularly to reducing artifacts in video due to data compression.
2. Description of the Related Technology
Processing and handling uncompressed digital video can require enormous resources. Uncompressed video requires vast amounts of space to store. Broadcasting uncompressed digital video requires a large bandwidth, and the digital video requires large amounts of electronic storage space at the recipient. Therefore, in almost all aspects of video processing, transmission, and storage, some type of video compression is used. Some data compression techniques are lossless, such that when the video is decompressed, the result is a bit-for-bit perfect match with the original. While lossless compression of video is possible, it is rarely used. Instead, lossy compression techniques are used because they result in far higher compression ratios while maintaining an acceptable level of quality, which is the point of video compression.
Video information may be organized within a frame or other video object (e.g., a video object plane (VOP)) in blocks. In some video encoding/decoding schemes, a block may include, for example a 2×2, 4×4, or 8×8 group of pixels, for example, “Y” luma pixels. Chroma (i.e., U/V, or Cr/Cb) pixels may be depicted in a similar block organization. Some encoding/decoding schemes further group blocks of pixel video information into macroblocks. If a digital image is overcompressed in a lossy manner, visible artifacts can appear. For example, when using quantization with block-based coding (for example, in JPEG-compressed images) several types of artifacts can appear, including “mosquito noise” around edges, and/or blockiness in “busy” regions (sometimes called quilting or checkerboarding). Video compression schemes (for example, MPEG-2, MPEG-4, H.264) may also yield artifacts such as blocking and noise especially around strong object edges in the subsequently uncompressed digital video. Certain video encoding/decoding schemes may employ deblocking filters to smooth edges between adjacent blocks. Such deblocking filters may improve the appearance of decoded video data and may improve compression performance for encoded video data. However, these deblocking filters assume prior knowledge of block size and/or offset and may also only operate on certain block sizes and offsets. Accordingly, a need exists for improved deblocking processing.